import java.io.File;
import java.io.IOException;
import java.util.Arrays;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 22652
 * Date: 2024-04-22
 * Time: 21:06
 */
public class geting {
    public static void main(String[] args) throws IOException {
        //演示File类的五种常用获取方法：
        //1.getAbsolutePath():获取file对象对应的绝对路径
        File file = new File("C:\\Users\\22652\\Desktop\\程序");
        String absolutePath = file.getAbsolutePath();
        System.out.println(absolutePath);
        String CanonicalPath = file.getPath();
        System.out.println(CanonicalPath);

        //3.getName(): 获取file的文件名
        String fileName = file.getName();
        System.out.println("输出file对象的文件名:" + fileName);
        System.out.println("=================================");

        //4.getName(): 获取file的文件名
        String parentName = file.getParent();
        System.out.println("输出file对象的父级目录:" + parentName);
        System.out.println("=================================");

        //5.length(): 获取file文件的大小（以字节为单位进行计算）
        File file1 = new File("D:\\JAVA\\IDEA\\fileEX\\3.txt");
        long size = file1.length();
        System.out.println("file1文件的大小 = " + size + " byte");
        System.out.println("=================================");
        //6.list(): 获取指定目录下所有文件(夹)的名称数组
        String[] fileNames = file.list();
        /*
            获取到的名称数组我们使用增强for来遍历。
            之后的File数组同理。
         */
        System.out.println("使用增强for遍历名称数组如下:");
        assert fileNames != null;
        for (String fName : fileNames) {
            System.out.println(fName);
        }
        //此处也可以使用Arrays.toString() 方法来打印，如下:
        System.out.println();
        System.out.println("我们再用一下Arrays.toString()方法试试：");
        System.out.println(Arrays.toString(fileNames));
        System.out.println("=================================");
        //7.listFiles():  获取指定目录下所有文件(夹)的File类型数组
        File[] files = file.listFiles();
        System.out.println("使用增强for遍历File数组如下:");
        for (File filePlus : files) {
            System.out.println(filePlus);
        }
        System.out.println();
        System.out.println("我们再用一下Arrays.toString()方法试试：");
        System.out.println(Arrays.toString(files));
        System.out.println("=================================");
        File file2=new File("src/2.txt");
        System.out.println(file2.getAbsolutePath());
        System.out.println(file2.getPath());
        System.out.println(file2.getCanonicalPath());
        System.out.println(file2.isFile());
        System.out.println(file2.isAbsolute());
        System.out.println(file2.exists());
        System.out.println(file.isAbsolute());
        file2.renameTo(file1);
    }
}
